package com.yunsc.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yunsc.store.dto.StoreSettingDTO;
import com.yunsc.store.entity.YunscExpressEntity;
import com.yunsc.store.entity.YunscStoreSettingEntity;
import com.yunsc.store.vo.OrderSettingVO;
import com.yunsc.store.vo.SMSNoticeVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 商家设置记录表
 *
 * @author adan
 * @email 2028038953@qq.com
 * @date 2024-04-22 11:35:49
 */
public interface YunscStoreSettingService extends IService<YunscStoreSettingEntity> {

    /**
     * 根据key查询商家设置
     *
     * @param key     商家设置key
     * @param storeId 商家id
     * @return
     */
    YunscStoreSettingEntity queryStoreSettingByKey(String key, Integer storeId);

    /**
     * 更新店铺分类模板设置
     *
     * @param params
     */
    void updateStoreSetting(StoreSettingDTO params);

    /**
     * 查询所有快递公司
     *
     * @param storeId 商家id
     * @return
     */
    List<YunscExpressEntity> queryExpressAll(Integer storeId);

    /**
     * 查询店铺设置
     *
     * @return
     */
    Map<String, Object> queryStoreSettingAll(Integer storeId);

    /**
     * 查询商家默认积分设置
     *
     * @param storeId 商家id
     * @return 积分设置
     */
    String queryPointData(Integer storeId);

    /**
     * 查询商家默认运费设置
     *
     * @param storeId 商家id
     * @return 运费设置
     */
    List<Integer> queryStoreDelivery(Integer storeId);

    /**
     * 查询是否免邮
     *
     * @param storeId      商家id
     * @param cityId       城市id
     * @param orderTotalPrice 订单总价
     * @return true:免邮 false:不免邮
     */
    boolean queryIsFreePostage(Integer storeId, Integer cityId, BigDecimal orderTotalPrice);

    /**
     * 查询订单设置
     *
     * @param storeId 商家id
     * @return 订单设置
     */
    OrderSettingVO queryOrderSettingVO(Integer storeId);

    SMSNoticeVO querySMSSettingVO(Integer storeId);
}

